home *** CD-ROM | disk | FTP | other *** search
/ Megahits 3 / Megahits 3 (1994)(GTI - Rhein-Main-Soft)(DE)[!].iso / autoexec.amos / autoexec.amosSourceCode next >
AMOS Source Code  |  1994-10-14  |  40KB  |  872 lines

  1. '
  2. '   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3. '  
  4. '               CLOSE QUARTERS       
  5. '                                            
  6. '                                  |           
  7. '              By   Valour-Tech    |       
  8. '                                 -I-      
  9. '               Game Number 1!      \_O_/    
  10. '                                    \V/                     
  11. '                                     X
  12. '                                    / | 
  13. '          Written in V 1.34       _|  |_    
  14. '                                    
  15. '   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
  16. '
  17. Set Buffer 20 : Led Off : Close Editor : Close Workbench 
  18. Dim HSCNAME$(10),HSC(10),LIFE#(4),DR#(4),AMMO(4),NAME$(4),CHAR(4,3),BLEED#(3)
  19. Dim DESC$(8),RAND1(4),RAND2(4),WHO(4),SCORE(4),CQ$(12),FLIP(3),DEAD(4),GUN(3,3)
  20. Global HSCNAME$(),NAME$(),HSC(),LIFE#(),DR#(),AMMO(),NAME$(),CHAR(),NUM,ALIVE
  21. Global DESC$(),RAND1(),RAND2(),WHO(),SCORE(),CQ$(),FLIP(),DEAD(),ROUND,T2
  22. Global X1,Y1,X2,Y2,SELECTION$,TEAM,BLEED#(),GUN()
  23. INITIALIZE
  24. Do 
  25.    SELECTIONS
  26.    For ROUND=1 To 10
  27.       SETUP_ROUND
  28.       Repeat 
  29.          LETS_ROCK
  30.       Until ALIVE<=1 or T2=90
  31.       SCORES
  32.    Next ROUND
  33.    FINISH_OF_GAME
  34. Loop 
  35. Procedure INITIALIZE
  36.    Hide : Unpack 6 To 0 : Wait 50
  37.    Get Rom Fonts : Synchro Off : Bob Update Off : Auto View Off : Make Mask 
  38.    Screen Open 1,640,16,4,Hires : Screen Display 1,130,42,640,8 : Flash Off 
  39.    Curs Off : Palette $0,$FFF,$F00,$F0 : Cls 0 : Paper 0 : Pen 1
  40.    Screen Open 2,640,16,4,Hires : Screen Display 2,130,290,640,8 : Flash Off 
  41.    Curs Off : Palette $0,$FFF,$F00,$F0 : Cls 0 : Paper 0 : Pen 1
  42.    Rem #### Bullet Amal MCBUL,SGBUL,PTBUL,CBARW ####
  43.    CQ$(0)=" Start: Let A=111 ; Let R1=0 ; If R0=1 Jump W ; If R0=2 Jump X ; If R0=3 Jump Y ; If R0=4 Jump A ;"
  44.    CQ$(0)=CQ$(0)+" W: If Joy1&16 Jump Dschrg ;P; Jump W ;"
  45.    CQ$(0)=CQ$(0)+" X: If Joy0&16 Jump Dschrg ;P; Jump X ;"
  46.    CQ$(0)=CQ$(0)+" Y: If RU=-1 Jump Dschrg ;P; Jump Y ;"
  47.    CQ$(0)=CQ$(0)+" A: If RV=-1 Jump Dschrg ;P; Jump A ;"
  48.    CQ$(0)=CQ$(0)+" Disharge: Let R6=-1 ;B: If R6=-1 Jump B ; Let A=12+R4 ;"
  49.    CQ$(0)=CQ$(0)+" Repeat: Let R1=R1+1 ;"
  50.    CQ$(0)=CQ$(0)+"         If BC(0,8,11) Jump Hit ; If BC(0,12,36)&R1>1 Jump Obstacle ; Let X=X+R2 ; Let Y=Y+R3 ;"
  51.    CQ$(0)=CQ$(0)+" Until: If R1=16 Jump Start else Jump Repeat ;"
  52.    CQ$(0)=CQ$(0)+" Hit: If A=111 Jump U ; If BC(0,8,8) Jump M ; If BC(0,9,9) Jump N ; If BC(0,10,10) Jump P ; If BC(0,11,11) Jump Q ;"
  53.    CQ$(0)=CQ$(0)+" M: If R0=1 Jump O ; Let R5=1 ; Jump O ;"
  54.    CQ$(0)=CQ$(0)+" N: If R0=2 Jump O ; Let R5=2 ; Jump O ;"
  55.    CQ$(0)=CQ$(0)+" P: If R0=3 Jump O ; Let R5=3 ; Jump O ;"
  56.    CQ$(0)=CQ$(0)+" Q: If R0=4 Jump O ; Let R5=4 ; Jump O ;"
  57.    CQ$(0)=CQ$(0)+" Obstacle: Let A=111 ; Jump Until ;"
  58.    Rem
  59.    CQ$(1)=" Start: Let A=111 ; If R0=1 Jump W ; If R0=2 Jump X ; If R0=3 Jump Y ; If R0=4 Jump A ;"
  60.    CQ$(1)=CQ$(1)+" W: If Joy1&16 Jump Dschrg ;P; Jump W ;"
  61.    CQ$(1)=CQ$(1)+" X: If Joy0&16 Jump Dschrg ;P; Jump X ;"
  62.    CQ$(1)=CQ$(1)+" Y: If RU=-1 Jump Dschrg ;P; Jump Y ;"
  63.    CQ$(1)=CQ$(1)+" A: If RV=-1 Jump Dschrg ;P; Jump A ;"
  64.    CQ$(1)=CQ$(1)+" Disharge: Let R6=-1 ;B: If R6=-1 Jump B ; If BC(1,8,11) Jump Hit ; Let A=8 ;"
  65.    CQ$(1)=CQ$(1)+" Repeat: Let R1=R1+1 ;"
  66.    CQ$(1)=CQ$(1)+"         If BC(1,8,11) Jump Hit ; If BC(1,12,36)&R1>1 Jump Obstacle ; Let X=X+R2 ; Let Y=Y+R3 ;"
  67.    CQ$(1)=CQ$(1)+" Until: If R1=30 Jump Finish else Jump Repeat ;"
  68.    CQ$(1)=CQ$(1)+" Hit: If A=111 Jump U ; If BC(1,8,8) Jump M ; If BC(1,9,9) Jump N ; If BC(1,10,10) Jump P ; If BC(1,11,11) Jump Q ;"
  69.    CQ$(1)=CQ$(1)+" M: If R0=1 Jump O ; Let R5=1 ; Jump O ;"
  70.    CQ$(1)=CQ$(1)+" N: If R0=2 Jump O ; Let R5=2 ; Jump O ;"
  71.    CQ$(1)=CQ$(1)+" P: If R0=3 Jump O ; Let R5=3 ; Jump O ;"
  72.    CQ$(1)=CQ$(1)+" Q: If R0=4 Jump O ; Let R5=4 ; Jump O ;"
  73.    CQ$(1)=CQ$(1)+" Obstacle: Let A=111 ; Jump Until ;"
  74.    CQ$(1)=CQ$(1)+" Finish: Let A=111 ; P P P P P P ; Let R1=0 ;"
  75.    CQ$(1)=CQ$(1)+" Chkfire: If R0=1 Jump I ; If R0=2 Jump J ; If R0=3 Jump K ; If R0=4 Jump L ;"
  76.    CQ$(1)=CQ$(1)+" I: If Joy1&16 Jump I ; Jump Start ;"
  77.    CQ$(1)=CQ$(1)+" J: If Joy0&16 Jump J ; Jump Start ;"
  78.    CQ$(1)=CQ$(1)+" K: If RU=-1 Jump K ; Jump Start ;"
  79.    CQ$(1)=CQ$(1)+" L: If RV=-1 Jump L ; Jump Start ;"
  80.    Rem
  81.    CQ$(2)=" Start: Let A=111 ; If R0=1 Jump W ; If R0=2 Jump X ; If R0=3 Jump Y ; If R0=4 Jump A ;"
  82.    CQ$(2)=CQ$(2)+" W: If Joy1&16 Jump Dschrg ;P; Jump W ;"
  83.    CQ$(2)=CQ$(2)+" X: If Joy0&16 Jump Dschrg ;P; Jump X ;"
  84.    CQ$(2)=CQ$(2)+" Y: If RU=-1 Jump Dschrg ;P; Jump Y ;"
  85.    CQ$(2)=CQ$(2)+" A: If RV=-1 Jump Dschrg ;P; Jump A ;"
  86.    CQ$(2)=CQ$(2)+" Disharge: Let R6=-1 ;B: If R6=-1 Jump B ; If BC(2,8,11) Jump Hit ; Let A=1 ;"
  87.    CQ$(2)=CQ$(2)+" Repeat: Let R1=R1+1 ;"
  88.    CQ$(2)=CQ$(2)+"         If BC(2,8,11) Jump Hit ; If BC(2,12,36)&R1>1 Jump Obstacle ; Let X=X+R2 ; Let Y=Y+R3 ;"
  89.    CQ$(2)=CQ$(2)+" Until: If R1=25 Jump Finish else Jump Repeat ;"
  90.    CQ$(2)=CQ$(2)+" Hit: If A=111 Jump U ; If BC(2,8,8) Jump M ; If BC(2,9,9) Jump N ; If BC(2,10,10) Jump P ; If BC(2,11,11) Jump Q ;"
  91.    CQ$(2)=CQ$(2)+" M: If R0=1 Jump O ; Let R5=1 ; Jump O ;"
  92.    CQ$(2)=CQ$(2)+" N: If R0=2 Jump O ; Let R5=2 ; Jump O ;"
  93.    CQ$(2)=CQ$(2)+" P: If R0=3 Jump O ; Let R5=3 ; Jump O ;"
  94.    CQ$(2)=CQ$(2)+" Q: If R0=4 Jump O ; Let R5=4 ; Jump O ;"
  95.    CQ$(2)=CQ$(2)+" Obstacle: Let A=111 ; Jump Until ;"
  96.    CQ$(2)=CQ$(2)+" Finish: Let A=111 ; Let R1=0 ;"
  97.    CQ$(2)=CQ$(2)+" Chkfire: If R0=1 Jump I ; If R0=2 Jump J ; If R0=3 Jump K ; If R0=4 Jump L ;"
  98.    CQ$(2)=CQ$(2)+" I: If Joy1&16 Jump I ; Jump Start ;"
  99.    CQ$(2)=CQ$(2)+" J: If Joy0&16 Jump J ; Jump Start ;"
  100.    CQ$(2)=CQ$(2)+" K: If RU=-1 Jump K ; Jump Start ;"
  101.    CQ$(2)=CQ$(2)+" L: If RV=-1 Jump L ; Jump Start ;"
  102.    Rem
  103.    CQ$(3)=" Start: Let A=111 ; If R0=1 Jump W ; If R0=2 Jump X ; If R0=3 Jump Y ; If R0=4 Jump A ;"
  104.    CQ$(3)=CQ$(3)+" W: If Joy1&16 Jump Dschrg ;P; Jump W ;"
  105.    CQ$(3)=CQ$(3)+" X: If Joy0&16 Jump Dschrg ;P; Jump X ;"
  106.    CQ$(3)=CQ$(3)+" Y: If RU=-1 Jump Dschrg ;P; Jump Y ;"
  107.    CQ$(3)=CQ$(3)+" A: If RV=-1 Jump Dschrg ;P; Jump A ;"
  108.    CQ$(3)=CQ$(3)+" Disharge: Let R6=-1 ;B: If R6=-1 Jump B ;"
  109.    CQ$(3)=CQ$(3)+" Repeat: Let R1=R1+1 ;"
  110.    CQ$(3)=CQ$(3)+"         If BC(3,8,11) Jump Hit ; If BC(3,12,36)&R1>2 Jump Obstacle ; Let X=X+R2 ; Let Y=Y+R3 ;"
  111.    CQ$(3)=CQ$(3)+" Until: If R1=25 Jump Finish else Jump Repeat ;"
  112.    CQ$(3)=CQ$(3)+" Hit: If A=111 Jump U ; If BC(3,8,8) Jump M ; If BC(3,9,9) Jump N ; If BC(3,10,10) Jump P ; If BC(3,11,11) Jump Q ;"
  113.    CQ$(3)=CQ$(3)+" M: If R0=1 Jump O ; Let R5=1 ; Jump O ;"
  114.    CQ$(3)=CQ$(3)+" N: If R0=2 Jump O ; Let R5=2 ; Jump O ;"
  115.    CQ$(3)=CQ$(3)+" P: If R0=3 Jump O ; Let R5=3 ; Jump O ;"
  116.    CQ$(3)=CQ$(3)+" Q: If R0=4 Jump O ; Let R5=4 ; Jump O ;"
  117.    CQ$(3)=CQ$(3)+" Obstacle: Let A=111 ; Jump Until ;"
  118.    CQ$(3)=CQ$(3)+" Finish: Let A=111 ; Let R1=0 ;"
  119.    CQ$(3)=CQ$(3)+" Chkfire: If R0=1 Jump I ; If R0=2 Jump J ; If R0=3 Jump K ; If R0=4 Jump L ;"
  120.    CQ$(3)=CQ$(3)+" I: If Joy1&16 Jump I ; Jump Start ;"
  121.    CQ$(3)=CQ$(3)+" J: If Joy0&16 Jump J ; Jump Start ;"
  122.    CQ$(3)=CQ$(3)+" K: If RU=-1 Jump K ; Jump Start ;"
  123.    CQ$(3)=CQ$(3)+" L: If RV=-1 Jump L ; Jump Start ;"
  124.    Rem #### GUY Amal Bobs 8-11 #### 
  125.    CQ$(8)=CQ$(8)+" Let R2=R1+4 ; Let R3=R1+8 ; Let R4=R1+3 ;Let RC=0 ;"
  126.    CQ$(8)=CQ$(8)+" Let R5=R1+7 ; Let R6=R1+11 ; Let RD=-1 ; Let RE=0 ;"
  127.    CQ$(8)=CQ$(8)+" Start:P;Let R0=Joy1&15 ;"
  128.    CQ$(8)=CQ$(8)+" If R0=5 Jump E ;"
  129.    CQ$(8)=CQ$(8)+" If R0=9 Jump F ;"
  130.    CQ$(8)=CQ$(8)+" If R0=6 Jump G ;"
  131.    CQ$(8)=CQ$(8)+" If R0=10 Jump H ;"
  132.    CQ$(8)=CQ$(8)+" If R0=1 Jump A ;"
  133.    CQ$(8)=CQ$(8)+" If R0=2 Jump B ;"
  134.    CQ$(8)=CQ$(8)+" If R0=4 Jump C ;"
  135.    CQ$(8)=CQ$(8)+" If R0=8 Jump D ;"
  136.    CQ$(8)=CQ$(8)+" Wait: Let RA=X ; Let RB=Y ; Jump Start ;"
  137.    CQ$(8)=CQ$(8)+" A: If R1>R4 Jump I ; Let A=R1 ; Let RE=0 ; Let R1=R1+1 ; Let RC=0 ; Let RD=-1 ; Let Y=Y-R7 ;"
  138.    CQ$(8)=CQ$(8)+"    If BC(8,8,36) Jump Restrc ; If Y<12 Jump Restrc ; Jump Wait ;"
  139.    CQ$(8)=CQ$(8)+"   I: Let R1=R1-4 ; Jump A ;"
  140.    CQ$(8)=CQ$(8)+" B: If R1>R4 Jump J ; Let A=R1+$4000 ; Let RE=$4000 ; Let R1=R1+1 ; Let RC=0 ; Let RD=1 ; Let Y=Y+R7 ;"
  141.    CQ$(8)=CQ$(8)+"    If BC(8,8,36) Jump Restrc ; If Y>244 Jump Restrc ; Jump Wait ;"
  142.    CQ$(8)=CQ$(8)+"   J: Let R1=R1-4 ; Jump B ;"
  143.    CQ$(8)=CQ$(8)+" C: If R2>R5 Jump K ; Let A=R2+$8000 ; Let RE=1+$8000 ; Let R2=R2+1 ; Let RC=-1 ; Let RD=0 ; Let X=X-R7 ;"
  144.    CQ$(8)=CQ$(8)+"    If BC(8,8,36) Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
  145.    CQ$(8)=CQ$(8)+"   K: Let R2=R2-4 ; Jump C"
  146.    CQ$(8)=CQ$(8)+" D: If R2>R5 Jump L ; Let A=R2 ; Let RE=1 ; Let R2=R2+1 ; Let RC=1 ; Let RD=0 ; Let X=X+R7 ;"
  147.    CQ$(8)=CQ$(8)+"    If BC(8,8,36) Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
  148.    CQ$(8)=CQ$(8)+"   L: Let R2=R2-4 ; Jump D ;"
  149.    CQ$(8)=CQ$(8)+" E: If R3>R6 Jump M ; Let A=R3+$8000 ; Let RE=2+$8000 ; Let R3=R3+1 ; Let RC=-1 ; Let RD=-1 ; Let X=X-R7 ; Let Y=Y-R7 ;"
  150.    CQ$(8)=CQ$(8)+"    If BC(8,8,36) Jump Restrc ; If Y<12 Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
  151.    CQ$(8)=CQ$(8)+"   M: Let R3=R3-4 ; Jump E ;"
  152.    CQ$(8)=CQ$(8)+" F: If R3>R6 Jump N ; Let A=R3 ; Let RE=2 ; Let R3=R3+1 ; Let RC=1 ; Let RD=-1 ; Let X=X+R7 ; Let Y=Y-R7 ;"
  153.    CQ$(8)=CQ$(8)+"    If BC(8,8,36) Jump Restrc ; If Y<12 Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
  154.    CQ$(8)=CQ$(8)+"   N: Let R3=R3-4 ; Jump F ;"
  155.    CQ$(8)=CQ$(8)+" G: If R3>R6 Jump O ; Let A=R3+$C000 ; Let RE=2+$C000 ; Let R3=R3+1 ; Let RC=-1  ; Let RD=1 ; Let X=X-R7 ; Let Y=Y+R7 ;"
  156.    CQ$(8)=CQ$(8)+"    If BC(8,8,36) Jump Restrc ; If Y>244 Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
  157.    CQ$(8)=CQ$(8)+"   O: Let R3=R3-4 ; Jump G ;"
  158.    CQ$(8)=CQ$(8)+" H: If R3>R6 Jump P ; Let A=R3+$4000 ; Let RE=2+$4000 ;Let R3=R3+1 ; Let RC=1  ; Let RD=1 ; Let X=X+R7 ; Let Y=Y+R7 ;"
  159.    CQ$(8)=CQ$(8)+"    If BC(8,8,36) Jump Restrc ; If Y>244 Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
  160.    CQ$(8)=CQ$(8)+"   P: Let R3=R3-4 ; Jump H ;"
  161.    CQ$(8)=CQ$(8)+" Restrc: Let X=-1*RC*R7+X ; Let Y=-1*RD*R7+Y ; Jump Wait ;"
  162.    Rem
  163.    CQ$(9)=CQ$(9)+" Let R2=R1+4 ; Let R3=R1+8 ; Let R4=R1+3 ;Let RH=0"
  164.    CQ$(9)=CQ$(9)+" Let R5=R1+7 ; Let R6=R1+11 ; Let RI=-1 ; Let RJ=0 ;"
  165.    CQ$(9)=CQ$(9)+" Start:P;Let R0=Joy0&15 ;"
  166.    CQ$(9)=CQ$(9)+" If R0=5 Jump E ;"
  167.    CQ$(9)=CQ$(9)+" If R0=9 Jump F ;"
  168.    CQ$(9)=CQ$(9)+" If R0=6 Jump G ;"
  169.    CQ$(9)=CQ$(9)+" If R0=10 Jump H ;"
  170.    CQ$(9)=CQ$(9)+" If R0=1 Jump A ;"
  171.    CQ$(9)=CQ$(9)+" If R0=2 Jump B ;"
  172.    CQ$(9)=CQ$(9)+" If R0=4 Jump C ;"
  173.    CQ$(9)=CQ$(9)+" If R0=8 Jump D ;"
  174.    CQ$(9)=CQ$(9)+" Wait: Let RF=X ; Let RG=Y ; Jump Start ;"
  175.    CQ$(9)=CQ$(9)+" A: If R1>R4 Jump I ; Let A=R1 ; Let RJ=0 ; Let R1=R1+1 ; Let RH=0 ; Let RI=-1 ; Let Y=Y-R7 ;"
  176.    CQ$(9)=CQ$(9)+"    If BC(9,8,36) Jump Restrc ; If Y<12 Jump Restrc ; Jump Wait ;"
  177.    CQ$(9)=CQ$(9)+"   I: Let R1=R1-4 ; Jump A ;"
  178.    CQ$(9)=CQ$(9)+" B: If R1>R4 Jump J ; Let A=R1+$4000 ; Let RJ=$4000 ; Let R1=R1+1 ; Let RH=0 ; Let RI=1 ; Let Y=Y+R7 ;"
  179.    CQ$(9)=CQ$(9)+"    If BC(9,8,36) Jump Restrc ; If Y>244 Jump Restrc ; Jump Wait ;"
  180.    CQ$(9)=CQ$(9)+"   J: Let R1=R1-4 ; Jump B ;"
  181.    CQ$(9)=CQ$(9)+" C: If R2>R5 Jump K ; Let A=R2+$8000 ; Let RJ=1+$8000 ; Let R2=R2+1 ; Let RH=-1 ; Let RI=0 ; Let X=X-R7 ;"
  182.    CQ$(9)=CQ$(9)+"    If BC(9,8,36) Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
  183.    CQ$(9)=CQ$(9)+"   K: Let R2=R2-4 ; Jump C"
  184.    CQ$(9)=CQ$(9)+" D: If R2>R5 Jump L ; Let A=R2 ; Let RJ=1 ; Let R2=R2+1 ; Let RH=1 ; Let RI=0 ; Let X=X+R7 ;"
  185.    CQ$(9)=CQ$(9)+"    If BC(9,8,36) Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
  186.    CQ$(9)=CQ$(9)+"   L: Let R2=R2-4 ; Jump D ;"
  187.    CQ$(9)=CQ$(9)+" E: If R3>R6 Jump M ; Let A=R3+$8000 ; Let RJ=2+$8000 ; Let R3=R3+1 ; Let RH=-1 ; Let RI=-1 ; Let X=X-R7 ; Let Y=Y-R7 ;"
  188.    CQ$(9)=CQ$(9)+"    If BC(9,8,36) Jump Restrc ; If Y<12 Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
  189.    CQ$(9)=CQ$(9)+"   M: Let R3=R3-4 ; Jump E ;"
  190.    CQ$(9)=CQ$(9)+" F: If R3>R6 Jump N ; Let A=R3 ; Let RJ=2 ; Let R3=R3+1 ; Let RH=1 ; Let RI=-1 ; Let X=X+R7 ; Let Y=Y-R7 ;"
  191.    CQ$(9)=CQ$(9)+"    If BC(9,8,36) Jump Restrc ; If Y<12 Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
  192.    CQ$(9)=CQ$(9)+"   N: Let R3=R3-4 ; Jump F ;"
  193.    CQ$(9)=CQ$(9)+" G: If R3>R6 Jump O ; Let A=R3+$C000 ; Let RJ=2+$C000 ; Let R3=R3+1 ; Let RH=-1  ; Let RI=1 ; Let X=X-R7 ; Let Y=Y+R7 ;"
  194.    CQ$(9)=CQ$(9)+"    If BC(9,8,36) Jump Restrc ; If Y>244 Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
  195.    CQ$(9)=CQ$(9)+"   O: Let R3=R3-4 ; Jump G ;"
  196.    CQ$(9)=CQ$(9)+" H: If R3>R6 Jump P ; Let A=R3+$4000 ; Let RJ=2+$4000 ; Let R3=R3+1 ; Let RH=1  ; Let RI=1 ; Let X=X+R7 ; Let Y=Y+R7 ;"
  197.    CQ$(9)=CQ$(9)+"    If BC(9,8,36) Jump Restrc ; If Y>244 Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
  198.    CQ$(9)=CQ$(9)+"   P: Let R3=R3-4 ; Jump H ;"
  199.    CQ$(9)=CQ$(9)+" Restrc: Let X=-1*RH*R7+X ; Let Y=-1*RI*R7+Y ; Jump Wait ;"
  200.    Rem
  201.    CQ$(10)=CQ$(10)+" Let R2=R1+4 ; Let R3=R1+8 ; Let R4=R1+3 ;Let RM=0"
  202.    CQ$(10)=CQ$(10)+" Let R5=R1+7 ; Let R6=R1+11 ; Let RN=-1 ; Let RO=0 ;"
  203.    CQ$(10)=CQ$(10)+" Start:P;If R0=5 Jump E ;"
  204.    CQ$(10)=CQ$(10)+" If R0=9 Jump F ;"
  205.    CQ$(10)=CQ$(10)+" If R0=6 Jump G ;"
  206.    CQ$(10)=CQ$(10)+" If R0=10 Jump H ;"
  207.    CQ$(10)=CQ$(10)+" If R0=1 Jump A ;"
  208.    CQ$(10)=CQ$(10)+" If R0=2 Jump B ;"
  209.    CQ$(10)=CQ$(10)+" If R0=4 Jump C ;"
  210.    CQ$(10)=CQ$(10)+" If R0=8 Jump D ;"
  211.    CQ$(10)=CQ$(10)+" Wait: Let RK=X ; Let RL=Y ; Jump Start ;"
  212.    CQ$(10)=CQ$(10)+" A: If R1>R4 Jump I ; Let A=R1 ; Let RO=0 ; Let R1=R1+1 ; Let RM=0 ; Let RN=-1 ; Let Y=Y-R7 ;"
  213.    CQ$(10)=CQ$(10)+"    If BC(10,8,36) Jump Restrc ; If Y<12 Jump Restrc ; Jump Wait ;"
  214.    CQ$(10)=CQ$(10)+"   I: Let R1=R1-4 ; Jump A ;"
  215.    CQ$(10)=CQ$(10)+" B: If R1>R4 Jump J ; Let A=R1+$4000 ; Let RO=$4000 ; Let R1=R1+1 ; Let RM=0 ; Let RN=1 ; Let Y=Y+R7 ;"
  216.    CQ$(10)=CQ$(10)+"    If BC(10,8,36) Jump Restrc ; If Y>244 Jump Restrc ; Jump Wait ;"
  217.    CQ$(10)=CQ$(10)+"   J: Let R1=R1-4 ; Jump B ;"
  218.    CQ$(10)=CQ$(10)+" C: If R2>R5 Jump K ; Let A=R2+$8000 ;Let RO=1+$8000 ; Let R2=R2+1 ; Let RM=-1 ; Let RN=0 ; Let X=X-R7 ;"
  219.    CQ$(10)=CQ$(10)+"    If BC(10,8,36) Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
  220.    CQ$(10)=CQ$(10)+"   K: Let R2=R2-4 ; Jump C"
  221.    CQ$(10)=CQ$(10)+" D: If R2>R5 Jump L ; Let A=R2 ; Let RO=1 ; Let R2=R2+1 ; Let RM=1 ; Let RN=0 ; Let X=X+R7 ;"
  222.    CQ$(10)=CQ$(10)+"    If BC(10,8,36) Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
  223.    CQ$(10)=CQ$(10)+"   L: Let R2=R2-4 ; Jump D ;"
  224.    CQ$(10)=CQ$(10)+" E: If R3>R6 Jump M ; Let A=R3+$8000 ; Let RO=2+$8000 ; Let R3=R3+1 ; Let RM=-1 ; Let RN=-1 ; Let X=X-R7 ; Let Y=Y-R7 ;"
  225.    CQ$(10)=CQ$(10)+"    If BC(10,8,36) Jump Restrc ; If Y<12 Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
  226.    CQ$(10)=CQ$(10)+"   M: Let R3=R3-4 ; Jump E ;"
  227.    CQ$(10)=CQ$(10)+" F: If R3>R6 Jump N ; Let A=R3 ; Let RO=2 ; Let R3=R3+1 ; Let RM=1 ; Let RN=-1 ; Let X=X+R7 ; Let Y=Y-R7 ;"
  228.    CQ$(10)=CQ$(10)+"    If BC(10,8,36) Jump Restrc ; If Y<12 Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
  229.    CQ$(10)=CQ$(10)+"   N: Let R3=R3-4 ; Jump F ;"
  230.    CQ$(10)=CQ$(10)+" G: If R3>R6 Jump O ; Let A=R3+$C000 ; Let RO=2+$C000 ; Let R3=R3+1 ; Let RM=-1  ; Let RN=1 ; Let X=X-R7 ; Let Y=Y+R7 ;"
  231.    CQ$(10)=CQ$(10)+"    If BC(10,8,36) Jump Restrc ; If Y>244 Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
  232.    CQ$(10)=CQ$(10)+"   O: Let R3=R3-4 ; Jump G ;"
  233.    CQ$(10)=CQ$(10)+" H: If R3>R6 Jump P ; Let A=R3+$4000 ; Let RO=2+$4000 ; Let R3=R3+1 ; Let RM=1  ; Let RN=1 ; Let X=X+R7 ; Let Y=Y+R7 ;"
  234.    CQ$(10)=CQ$(10)+"    If BC(10,8,36) Jump Restrc ; If Y>244 Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
  235.    CQ$(10)=CQ$(10)+"   P: Let R3=R3-4 ; Jump H ;"
  236.    CQ$(10)=CQ$(10)+" Restrc: Let X=-1*RM*R7+X ; Let Y=-1*RN*R7+Y ; Jump Wait ;"
  237.    Rem
  238.    CQ$(11)=CQ$(11)+" Let R2=R1+4 ; Let R3=R1+8 ; Let R4=R1+3 ;Let RR=0"
  239.    CQ$(11)=CQ$(11)+" Let R5=R1+7 ; Let R6=R1+11 ; Let RS=-1 ; Let RT=0 ;"
  240.    CQ$(11)=CQ$(11)+" Start:P;If R0=5 Jump E ;"
  241.    CQ$(11)=CQ$(11)+" If R0=9 Jump F ;"
  242.    CQ$(11)=CQ$(11)+" If R0=6 Jump G ;"
  243.    CQ$(11)=CQ$(11)+" If R0=10 Jump H ;"
  244.    CQ$(11)=CQ$(11)+" If R0=1 Jump A ;"
  245.    CQ$(11)=CQ$(11)+" If R0=2 Jump B ;"
  246.    CQ$(11)=CQ$(11)+" If R0=4 Jump C ;"
  247.    CQ$(11)=CQ$(11)+" If R0=8 Jump D ;"
  248.    CQ$(11)=CQ$(11)+" Wait: Let RP=X ; Let RQ=Y ; Jump Start ;"
  249.    CQ$(11)=CQ$(11)+" A: If R1>R4 Jump I ; Let A=R1 ; Let RT=0 ; Let R1=R1+1 ; Let RR=0 ; Let RS=-1 ; Let Y=Y-R7 ;"
  250.    CQ$(11)=CQ$(11)+"    If BC(11,8,36) Jump Restrc ; If Y<12 Jump Restrc ; Jump Wait ;"
  251.    CQ$(11)=CQ$(11)+"   I: Let R1=R1-4 ; Jump A ;"
  252.    CQ$(11)=CQ$(11)+" B: If R1>R4 Jump J ; Let A=R1+$4000 ; Let RT=$4000 ; Let R1=R1+1 ; Let RR=0 ; Let RS=1 ; Let Y=Y+R7 ;"
  253.    CQ$(11)=CQ$(11)+"    If BC(11,8,36) Jump Restrc ; If Y>244 Jump Restrc ; Jump Wait ;"
  254.    CQ$(11)=CQ$(11)+"   J: Let R1=R1-4 ; Jump B ;"
  255.    CQ$(11)=CQ$(11)+" C: If R2>R5 Jump K ; Let A=R2+$8000 ;Let RT=1+$8000 ; Let R2=R2+1 ; Let RR=-1 ; Let RS=0 ; Let X=X-R7 ;"
  256.    CQ$(11)=CQ$(11)+"    If BC(11,8,36) Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
  257.    CQ$(11)=CQ$(11)+"   K: Let R2=R2-4 ; Jump C"
  258.    CQ$(11)=CQ$(11)+" D: If R2>R5 Jump L ; Let A=R2 ; Let RT=1 ; Let R2=R2+1 ; Let RR=1 ; Let RS=0 ; Let X=X+R7 ;"
  259.    CQ$(11)=CQ$(11)+"    If BC(11,8,36) Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
  260.    CQ$(11)=CQ$(11)+"   L: Let R2=R2-4 ; Jump D ;"
  261.    CQ$(11)=CQ$(11)+" E: If R3>R6 Jump M ; Let A=R3+$8000 ; Let RT=2+$8000 ; Let R3=R3+1 ; Let RR=-1 ; Let RS=-1 ; Let X=X-R7 ; Let Y=Y-R7 ;"
  262.    CQ$(11)=CQ$(11)+"    If BC(11,8,36) Jump Restrc ; If Y<12 Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
  263.    CQ$(11)=CQ$(11)+"   M: Let R3=R3-4 ; Jump E ;"
  264.    CQ$(11)=CQ$(11)+" F: If R3>R6 Jump N ; Let A=R3 ; Let RT=2 ; Let R3=R3+1 ; Let RR=1 ; Let RS=-1 ; Let X=X+R7 ; Let Y=Y-R7 ;"
  265.    CQ$(11)=CQ$(11)+"    If BC(11,8,36) Jump Restrc ; If Y<12 Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
  266.    CQ$(11)=CQ$(11)+"   N: Let R3=R3-4 ; Jump F ;"
  267.    CQ$(11)=CQ$(11)+" G: If R3>R6 Jump O ; Let A=R3+$C000 ; Let RT=2+$C000 ; Let R3=R3+1 ; Let RR=-1  ; Let RS=1 ; Let X=X-R7 ; Let Y=Y+R7 ;"
  268.    CQ$(11)=CQ$(11)+"    If BC(11,8,36) Jump Restrc ; If Y>244 Jump Restrc ; If X<5 Jump Restrc ; Jump Wait ;"
  269.    CQ$(11)=CQ$(11)+"   O: Let R3=R3-4 ; Jump G ;"
  270.    CQ$(11)=CQ$(11)+" H: If R3>R6 Jump P ; Let A=R3+$4000 ; Let RT=2+$4000 ; Let R3=R3+1 ; Let RR=1  ; Let RS=1 ; Let X=X+R7 ; Let Y=Y+R7 ;"
  271.    CQ$(11)=CQ$(11)+"    If BC(11,8,36) Jump Restrc ; If Y>244 Jump Restrc ; If X>316 Jump Restrc ; Jump Wait ;"
  272.    CQ$(11)=CQ$(11)+"   P: Let R3=R3-4 ; Jump H ;"
  273.    CQ$(11)=CQ$(11)+" Restrc: Let X=-1*RR*R7+X ; Let Y=-1*RS*R7+Y ; Jump Wait ;"
  274.    For A=1 To 4
  275.       For B=1 To 3
  276.          Read CHAR(A,B)
  277.       Next B
  278.    Next A
  279.    For A=0 To 3 : Read FLIP(A) : Read BLEED#(A) : Next A
  280.    For A=0 To 3
  281.       For B=1 To 3
  282.          Read GUN(A,B)
  283.       Next B
  284.    Next A
  285.    For A=1 To 8 : Read DESC$(A) : Next A
  286.    Screen 0 : For X=0 To 3 : Bob X,,,111 : Channel X To Bob X : Next X
  287.    For X=8 To 11 : Bob X,,,111 : Channel X To Bob X : Next X
  288.    Auto View On : Fade 3 : Wait 45
  289.    Data 30,4,200,42,5,150,54,6,120,66,6,150,$0,0.6,$4000,1.0,$8000,0.6,$C000,0.5
  290.    Data 11,26,27,4,25,9,6,19,2,4,20,5
  291.    Data "BattleDroid","Commando","Gunslinger","Predator"
  292.    Data "MachineCannon","2BarrelPumpShotgun",".45CalAutoPistol","CompoundCrossbow"
  293. End Proc
  294. Procedure SELECTIONS
  295.    Unpack 7 To 0 : Screen 0 : For F=1 To 5 : Flash F,"(070,5)(180,5)(391,5)(4A1,5)(6B2,5)" : Wait 5 : Next F
  296.    Wait 20 : Repeat : Until Fire(1) or Fire(0)
  297.    Flash Off : Fade 2 : Wait 30
  298.    Screen Open 3,320,256,32,Lowres : Flash Off : Get Sprite Palette : Curs Off 
  299.    Colour 8,$FFF : Colour 0,$0 : Cls 0 : Curs Pen 0 : Paper 0 : Pen 8
  300.    NUM=2 : TEAM=False
  301.    SELECTION$="NUMBER" : Ink 19,26,
  302.    Paste Bob 45,40,113 : Paste Bob 240,40,113
  303.    Paste Bob 145,80,113 : Paste Bob 35,140,112
  304.    Paste Bob 200,140,112 : Paste Bob 35,200,112
  305.    Paste Bob 200,200,112 : Text 30,35,"Team Play"
  306.    Text 230,35,"Players" : Text 50,135,"Player 1"
  307.    Text 50,195,"Player 3" : Text 215,135,"Player 2"
  308.    Text 215,195,"Player 4" : Ink 25,27 : Text 58,160,NAME$(1)
  309.    Text 223,160,NAME$(2) : Text 58,220,NAME$(3) : Text 223,220,NAME$(4)
  310.    Text 151,100,"GO!" : Text 51,60,"off" : Text 246,60,Str$(NUM)
  311.    Do 
  312.       If SELECTION$="NUMBER" Then NUMBER
  313.       If SELECTION$="GO" Then GO
  314.       If SELECTION$="TEAM" Then TEAM
  315.       If SELECTION$="NAME_1" Then NAME_1
  316.       If SELECTION$="NAME_2" Then NAME_2
  317.       If SELECTION$="NAME_3" Then NAME_3
  318.       If SELECTION$="NAME_4" Then NAME_4
  319.       If SELECTION$="GO!" Then Exit 
  320.    Loop : Ink 0
  321.    For Y=0 To 128 Step 2
  322.       Draw 0,Y To 320,Y : Draw 0,256-Y To 320,256-Y
  323.       Wait Vbl 
  324.    Next Y
  325.    For Y=129 To 1 Step -2
  326.       Draw 0,Y To 320,Y : Draw 0,256-Y To 320,256-Y
  327.       Wait Vbl 
  328.    Next Y
  329.    For N=1 To 4
  330.       If N>NUM Then NAME$(N)=""
  331.    Next N
  332.    If TEAM=False
  333.       Open In 1,"HighScoreTable"
  334.    Else 
  335.       Open In 1,"TeamTable"
  336.    End If 
  337.    For X=1 To 10 : Input #1,HSCNAME$(X),HSC(X) : Next X : Close 1
  338.    Screen 1 : Cls 0 : Print At(0,0);NAME$(1);At(45,0);NAME$(2)
  339.    Screen 2 : Cls 0 : Print At(0,0);NAME$(3);At(45,0);NAME$(4)
  340. End Proc
  341. Procedure TEAM
  342.    Ink 19 : Box 44,39 To 80,75 : Ink 25 : Wait 10
  343.    Do 
  344.       While Fire(1)
  345.          If TEAM=True Then Text 51,60,"off"
  346.          If TEAM=False
  347.             Cls 27,52,52 To 74,63 : Text 54,60,"on"
  348.             Text 246,60,Str$(4) : NUM=4
  349.          End If 
  350.          TEAM=-1-TEAM : Wait 20
  351.       Wend 
  352.       If Jright(1) Then SELECTION$="GO" : Exit 
  353.       If Jdown(1) Then SELECTION$="NAME_1" : Exit 
  354.    Loop 
  355.    Ink 26 : Box 44,39 To 80,75
  356. End Proc
  357. Procedure NUMBER
  358.    Ink 19 : Box 239,39 To 275,75 : Ink 25 : Wait 10
  359.    Do 
  360.       If Fire(1)
  361.          Add NUM,1,2 To 4
  362.          If NUM<4
  363.             Text 51,60,"off" : TEAM=False
  364.          End If 
  365.          Text 246,60,Str$(NUM) : Wait 20
  366.       End If 
  367.       If Jdown(1) Then SELECTION$="NAME_2" : Exit 
  368.       If Jleft(1) Then SELECTION$="GO" : Exit 
  369.    Loop 
  370.    Ink 26 : Box 239,39 To 275,75
  371. End Proc
  372. Procedure GO
  373.    Ink 19 : Box 144,79 To 180,115 : Ink 25 : Wait 10 : Timer=0
  374.    Do 
  375.       If Fire(1) Then SELECTION$="GO!" : Randomize Timer : Exit 
  376.       If Jleft(1) Then SELECTION$="TEAM" : Exit 
  377.       If Jright(1) Then SELECTION$="NUMBER" : Exit 
  378.    Loop 
  379.    Ink 26 : Box 144,79 To 180,115
  380. End Proc
  381. Procedure NAME_1
  382.    Ink 19 : Box 34,139 To 130,175 : Ink 25 : Clear Key : Wait 10
  383.    For X=1 To 7
  384.       I$=""
  385.       While I$="" or X=7
  386.          I$=Inkey$ : If Scancode>64 Then I$=""
  387.          If Jup(1) Then SELECTION$="TEAM" : Exit 2
  388.          If Jdown(1) Then SELECTION$="NAME_3" : Exit 2
  389.          If Jright(1) Then SELECTION$="NAME_2" : Exit 2
  390.          If Key State(65)
  391.             Text 58,160,"      " : NAME$(1)="" : SELECTION$="NAME_1" : Exit 2
  392.          End If 
  393.       Wend 
  394.       If X=1 Then Text 58,160,"      " : NAME$(1)=""
  395.       Text((X-1)*8)+58,160,I$
  396.       NAME$(1)=NAME$(1)+I$ : I$=""
  397.    Next X
  398.    Ink 26 : Box 34,139 To 130,175
  399. End Proc
  400. Procedure NAME_2
  401.    Ink 19 : Box 199,139 To 295,175 : Ink 25 : Clear Key : Wait 10
  402.    For X=1 To 7
  403.       I$=""
  404.       While I$="" or X=7
  405.          I$=Inkey$ : If Scancode>64 Then I$=""
  406.          If Jup(1) Then SELECTION$="NUMBER" : Exit 2
  407.          If Jdown(1) Then SELECTION$="NAME_4" : Exit 2
  408.          If Jleft(1) Then SELECTION$="NAME_1" : Exit 2
  409.          If Key State(65)
  410.             Text 223,160,"      " : NAME$(2)="" : SELECTION$="NAME_2" : Exit 2
  411.          End If 
  412.       Wend 
  413.       If X=1 Then Text 223,160,"      " : NAME$(2)=""
  414.       Text((X-1)*8)+223,160,I$
  415.       NAME$(2)=NAME$(2)+I$ : I$=""
  416.    Next X
  417.    Ink 26 : Box 199,139 To 295,175
  418. End Proc
  419. Procedure NAME_3
  420.    Ink 19 : Box 34,199 To 130,235 : Ink 25 : Wait 10
  421.    For X=1 To 7
  422.       I$=""
  423.       While I$="" or X=7
  424.          I$=Inkey$ : If Scancode>64 Then I$=""
  425.          If Jup(1) Then SELECTION$="NAME_1" : Exit 2
  426.          If Jright(1) Then SELECTION$="NAME_4" : Exit 2
  427.          If Key State(65)
  428.             Text 58,220,"      " : NAME$(3)="" : SELECTION$="NAME_3" : Exit 2
  429.          End If 
  430.       Wend 
  431.       If X=1 Then Text 58,220,"      " : NAME$(3)=""
  432.       Text((X-1)*8)+58,220,I$
  433.       NAME$(3)=NAME$(3)+I$ : I$=""
  434.    Next X
  435.    Ink 26 : Box 34,199 To 130,235
  436. End Proc
  437. Procedure NAME_4
  438.    Ink 19 : Box 199,199 To 295,235 : Ink 25 : Wait 10
  439.    For X=1 To 7
  440.       I$=""
  441.       While I$="" or X=7
  442.          I$=Inkey$ : If Scancode>64 Then I$=""
  443.          If Jup(1) Then SELECTION$="NAME_2" : Exit 2
  444.          If Jleft(1) Then SELECTION$="NAME_3" : Exit 2
  445.          If Key State(65)
  446.             Text 223,220,"      " : NAME$(4)="" : SELECTION$="NAME_4" : Exit 2
  447.          End If 
  448.       Wend 
  449.       If X=1 Then Text 223,220,"      " : NAME$(4)=""
  450.       Text((X-1)*8)+223,220,I$
  451.       NAME$(4)=NAME$(4)+I$ : I$=""
  452.    Next X
  453.    Ink 26 : Box 199,199 To 295,235
  454. End Proc
  455. Procedure SETUP_ROUND
  456.    Auto View Off : Unpack 8 To 0 : Screen 0 : Double Buffer 
  457.    For N=0 To 11
  458.       Bob N,,,111
  459.       If N<4 or N>7
  460.          Amal N,CQ$(N)
  461.       End If 
  462.    Next N
  463.    Screen 3 : Cls 0
  464.    For N=1 To NUM
  465.       RAND1: RAND1(N)=Rnd(3)+1
  466.       For A=1 To N
  467.          If A=N Then Goto SKIP1
  468.          If RAND1(N)=RAND1(A) Then Goto RAND1
  469.          SKIP1:
  470.       Next A
  471.       RAND2: RAND2(N)=Rnd(3)+1
  472.       For B=1 To N
  473.          If B=N Then Goto SKIP2
  474.          If RAND2(N)=RAND2(B) Then Goto RAND2
  475.          SKIP2:
  476.       Next B
  477.       If N<3
  478.          Locate 2+((N-1)*19),1 : Print NAME$(N)
  479.          Locate 2+((N-1)*19),3 : Print DESC$(RAND1(N))
  480.          Locate 2+((N-1)*19),5 : Print DESC$(RAND2(N)+4)
  481.          Paste Bob 40+((N-1)*150),50,89+RAND1(N) : Paste Bob 41+((N-1)*150),95,RAND2(N)*3+12
  482.       Else 
  483.          Locate 2+((N-3)*19),16 : Print NAME$(N)
  484.          Locate 2+((N-3)*19),18 : Print DESC$(RAND1(N))
  485.          Locate 2+((N-3)*19),20 : Print DESC$(RAND2(N)+4)
  486.          Paste Bob 40+((N-3)*150),170,89+RAND1(N) : Paste Bob 41+((N-3)*150),215,RAND2(N)*3+12
  487.       End If 
  488.       Amreg(7+N,1)=CHAR(RAND1(N),1) : Amreg(7+N,7)=CHAR(RAND1(N),2) : Amal On 7+N
  489.       Amreg(RAND2(N)-1,0)=N : Amal On RAND2(N)-1
  490.    Next N
  491.    Print At(11,28)," Press Fire"
  492.    Repeat : Until Fire(1) or Fire(0)
  493.    Fade 3 : Wait 45
  494.    For X=1 To 4
  495.       If X>NUM
  496.          LIFE#(X)=0 : RAND2(X)=0 : DR#(X)=0 : DEAD(X)=True
  497.       Else 
  498.          LIFE#(X)=CHAR(RAND1(X),3) : DR#(X)=0 : WHO(X)=0 : DEAD(X)=False
  499.       End If 
  500.       If TEAM=True and X<>1 Then WHO(X)=X-1
  501.       If TEAM=True and X=1 Then WHO(X)=4
  502.    Next X
  503.    Screen 1 : AMMO(1)=70 : AMMO(2)=30 : AMMO(3)=35 : AMMO(4)=30
  504.    Ink 3 : Bar 60,0 To LIFE#(1)+61,3 : Ink 2 : Bar 60,4 To AMMO(RAND2(1))*2.85+61,8
  505.    Ink 3 : Bar 420,0 To LIFE#(2)+421,3 : Ink 2 : Bar 420,4 To AMMO(RAND2(2))*2.85+421,8
  506.    Ink 0 : Screen 2
  507.    If NUM>2 Then Ink 3 : Bar 60,0 To LIFE#(3)+61,3 : Ink 2 : Bar 60,4 To AMMO(RAND2(3))*2.85+61,8
  508.    If NUM=4 Then Ink 3 : Bar 420,0 To LIFE#(4)+421,3 : Ink 2 : Bar 420,4 To AMMO(RAND2(4))*2.85+421,8
  509.    Ink 0 : Screen 0 : For S=0 To 2 : Screen To Front S : Next S
  510.    Restore ROUND+0
  511.    For A=8 To 11
  512.       Read X,Y : If A<=NUM+7 Then Bob A,X,Y,CHAR(RAND1(A-7),1)
  513.    Next A
  514.    For B=0 To 3
  515.       If Amreg(B,0)<>0
  516.          If I Bob(Amreg(B,0)+7)<66
  517.             C=X Bob(Amreg(B,0)+7)
  518.             D=Y Bob(Amreg(B,0)+7)-5
  519.             Bob B+4,C,D,B*3+15
  520.          End If 
  521.       End If 
  522.    Next B
  523.    For A=12 To 36 : Read X : Exit If X=666 : Read Y,I : Bob A,X,Y,I : Next A
  524.    For A=37 To 46 : Read X : Exit If X=666 : Read Y,I : Bob A,X,Y,I : Next A
  525.    Read X1,Y1,X2,Y2
  526.    T2=-1 : SECONDS : Bob Update : Wait Vbl 
  527.    Sam Play 15,8,9400 : ALIVE=NUM : Every 50 Proc SECONDS
  528.    Screen Close 3 : View : Auto View On 
  529.    1 Data 22,22,110,234,306,156,30,142,44,123,97,197,203,97,233,20,98,269,20,98,233,59,99
  530.    Data 269,59,99,164,33,100,107,217,101,277,93,102,194,62,102,16,68,102,238,142,103,285,156,103
  531.    Data 64,26,103,32,217,104,666,250,37,107,164,27,108,31,88,109,666,194,100,60,167
  532.    Rem
  533.    2 Data 279,128,101,128,136,33,8,219,37,41,97,78,80,97,35,201,97,59,217,97,159,101,98,195,101,98
  534.    Data 159,143,99,195,143,99,14,239,100,128,179,101,129,80,101,268,38,102,78,130,103,223,122,103
  535.    Data 268,204,104,666,176,121,107,24,229,108,666,209,201,120,131
  536.    Rem
  537.    3 Data 37,42,281,211,288,41,27,217,52,129,97,113,130,97,180,129,97,255,129,97,123,190,97,152,190,97
  538.    Data 181,189,97,213,188,97,175,77,101,191,65,102,53,77,102,265,77,102,53,178,102,265,178,102
  539.    Data 80,61,104,239,61,104,80,191,104,239,191,104,666,666,232,104,164,226
  540.    Rem
  541.    4 Data 81,127,166,60,176,148,273,205,64,104,98,100,104,98,200,89,98,236,89,98,64,146,99,100,146,99,200,131,99
  542.    Data 236,131,99,153,184,100,155,81,100,85,185,97,243,193,102,258,48,104,666,81,123,107,217,108,107,155,76,108,154,183,108,666,51,63,151,110
  543.    Rem
  544.    5 Data 58,26,281,235,25,228,276,23,279,52,97,280,207,97,161,151,101,161,105,101,60,48,102,23,203,102,90,38,103,90,219,103
  545.    Data 231,37,103,231,220,103,104,164,105,214,92,105,105,91,106,215,163,106,666,127,126,109,153,126,109
  546.    Data 166,126,109,192,126,109,666,48,130,268,130
  547.    Rem
  548.    6 Data 279,182,21,99,195,145,153,106,168,76,101,298,127,102,239,126,104,170,190,104,102,238,104,187,12,104
  549.    Data 101,66,104,99,122,96,168,176,101,222,90,106,174,131,97,666,666,26,111,257,191
  550.    Rem
  551.    7 Data 35,129,214,94,129,160,280,213,40,71,97,38,189,97,233,47,97,225,208,97,214,132,101,88,127,103,88,230,103,257,133,103,88,22,104
  552.    Data 170,58,104,170,129,104,172,224,104,666,129,170,108,130,123,108,88,64,109,666,127,35,205,164
  553.    Rem
  554.    8 Data 29,43,149,178,217,91,43,224,65,197,97,56,80,97,144,136,97,236,64,97,282,209,97,302,59,102,138,52,102,171,218,102
  555.    Data 252,118,104,34,143,104,95,110,105,197,166,105,240,187,105,191,99,106,111,179,106,666,666,193,56,69,156
  556.    Rem
  557.    9 Data 156,68,207,177,74,151,304,35,79,128,101,187,128,101,281,191,101,5,71,102,73,171,102,74,217,102,144,170,102,180,217,102
  558.    Data 83,97,103,229,97,103,290,97,103,32,69,104,47,155,104,48,236,104,129,231,104,159,153,104,207,230,104,666
  559.    Data 83,37,109,229,35,109,130,127,110,666,240,222,152,68
  560.    Rem
  561.    10 Data 70,78,221,67,148,233,10,185,58,50,102,58,103,102,58,158,102,59,211,102,130,102,102,136,167,102,205,46,102,205,88,102
  562.    Data 205,130,102,199,166,102,199,216,102,185,210,103,44,75,104,38,183,104,80,183,104,116,70,104,135,192,104,191,60,104,220,102,104
  563.    Data 224,190,104,272,170,105,269,230,105,79,209,106,278,199,106,230,221,106,666,91,134,97,33
  564. End Proc
  565. Procedure SECONDS
  566.    For X=1 To 4
  567.       If LIFE#(X)>0
  568.          LIFE#(X)=LIFE#(X)-DR#(X)
  569.       End If 
  570.       If LIFE#(X)<=0 and DEAD(X)=False
  571.          If Amreg(X+7,1)<42
  572.             Sam Play 8,10,9500
  573.          Else 
  574.             Sam Play 8,14,9500
  575.          End If 
  576.          Amal Freeze X+7 : Bob RAND2(X)+3,X Bob(X+7),Y Bob(X+7),RAND2(X)*3+12+Rnd(2)
  577.          Amal Freeze RAND2(X)-1 : Amreg(RAND2(X)-1,6)=0 : DEAD(X)=True : LIFE#(X)=0
  578.          Add SCORE(WHO(X)),10 : Add SCORE(X),-10 : Bob X+7,,,111 : Bob RAND2(X)-1,,,111
  579.          Paste Bob X Bob(X+7)-30,Y Bob(X+7)-30,RAND1(X)*3+75+Rnd(2)+FLIP(Rnd(3)) : Dec ALIVE
  580.          If TEAM=True
  581.             If(LIFE#(1)=0 and LIFE#(3)=0) or(LIFE#(2)=0 and LIFE#(4)=0)
  582.                ALIVE=1
  583.             End If 
  584.          End If 
  585.          If ALIVE=2
  586.             Sam Play 8,9,9600
  587.          End If 
  588.       End If 
  589.       If AMMO(X)<=0
  590.          Amal Freeze X-1 : Amreg(X-1,6)=0 : Bob X-1,,,111 : AMMO(X)=0
  591.       End If 
  592.    Next X : Inc T2
  593.    If T2=45 and NUM>2
  594.       If Rnd(1)=0
  595.          Swap X1,X2 : Swap Y1,Y2
  596.       End If 
  597.       Bob 47,X1,Y1,94 : Bob 48,X2,Y2,95
  598.    End If 
  599.    If T2>84
  600.       Sam Play 9,15,9600
  601.    End If 
  602.    Screen 1
  603.    Text 300,7,Str$(T2)+" "
  604.    Bar AMMO(RAND2(1))*2.8+60,4 To 261,8 : Bar AMMO(RAND2(2))*2.8+420,4 To 621,8
  605.    Bar LIFE#(1)+60,0 To 261,3 : Bar LIFE#(2)+420,0 To 621,3
  606.    Screen 2
  607.    Bar AMMO(RAND2(3))*2.8+60,4 To 261,8 : Bar AMMO(RAND2(4))*2.8+420,4 To 621,8
  608.    Bar LIFE#(3)+60,0 To 261,3 : Bar LIFE#(4)+420,0 To 621,3
  609.    Screen 0
  610.    Every On 
  611. End Proc
  612. Procedure LETS_ROCK
  613.    If Key State(17) Then M1=1 : Goto HORIZ1
  614.    If Key State(49) Then M1=2
  615.    HORIZ1: If Key State(32) Then M1=M1+4 : Goto FINISH1
  616.    If Key State(33) Then M1=M1+8
  617.    FINISH1: Amreg(10,0)=M1
  618.    If Key State(12) Then M2=1 : Goto HORIZ2
  619.    If Key State(42) Then M2=2
  620.    HORIZ2: If Key State(26) Then M2=M2+4 : Goto FINISH2
  621.    If Key State(27) Then M2=M2+8
  622.    FINISH2: Amreg(11,0)=M2
  623.    Amreg(20)=Key State(64)
  624.    Amreg(21)=Key State(68)
  625.    For G=0 To 3
  626.       If Amreg(G,6)=-1 and AMMO(G+1)>0
  627.          Sam Play 2^G,G+3,9600 : Dec AMMO(G+1) : Amreg(G,6)=0
  628.       End If 
  629.    Next G
  630.    For W=4 To 7
  631.       If Bob Col(W,8 To 11) and LIFE#(Amreg(W-4,0))=0
  632.          If Col(8) and Fire(1)
  633.             CHANGE_WEAPONS[1,W-4,W] : Exit 
  634.          End If 
  635.          If Col(9) and Fire(0)
  636.             CHANGE_WEAPONS[2,W-4,W] : Exit 
  637.          End If 
  638.          If Col(10) and Amreg(20)=-1
  639.             CHANGE_WEAPONS[3,W-4,W] : Exit 
  640.          End If 
  641.          If Col(11) and Amreg(21)=-1
  642.             CHANGE_WEAPONS[4,W-4,W] : Exit 
  643.          End If 
  644.       End If 
  645.    Next W
  646.    If Bob Col(47,8 To 11)
  647.       For F=1 To 4
  648.          If Col(F+7)
  649.             FIRST_AID[F] : Exit 
  650.          End If 
  651.       Next F
  652.    End If 
  653.    If Bob Col(48,8 To 11)
  654.       For E=1 To 4
  655.          If Col(E+7)
  656.             EXTRA_AMMO[E] : Exit 
  657.          End If 
  658.       Next E
  659.    End If 
  660.    For S=0 To 3
  661.       If Amreg(S,5)<>0
  662.          If Amreg(Amreg(S,5)+7,1)<42
  663.             Sam Play 8,16,9500
  664.          Else 
  665.             Sam Play 8,13-Rnd(2),9600
  666.          End If 
  667.          DR#(Amreg(S,5))=DR#(Amreg(S,5))+BLEED#(S)
  668.          If Abs(Amreg(S,0)-Amreg(S,5))=2 and TEAM=True
  669.          Else 
  670.             WHO(Amreg(S,5))=Amreg(S,0) : Inc SCORE(Amreg(S,0))
  671.          End If 
  672.          If S=0
  673.             Bob 7+Amreg(0,5),X Bob(7+Amreg(0,5))+(Amreg(0,2)*2),Y Bob(7+Amreg(0,5))+(Amreg(0,3)*2),
  674.             If Bob Col(7+Amreg(0,5),8 To 36)
  675.                Bob 7+Amreg(0,5),X Bob(7+Amreg(0,5))-(Amreg(0,2)*2),Y Bob(7+Amreg(0,5))-(Amreg(0,3)*2),
  676.             End If 
  677.          End If 
  678.          If S=1
  679.             Bob 7+Amreg(1,5),X Bob(7+Amreg(1,5))+(Amreg(1,2)*7),Y Bob(7+Amreg(1,5))+(Amreg(1,3)*7),
  680.             If Bob Col(7+Amreg(1,5),8 To 36)
  681.                Bob 7+Amreg(1,5),X Bob(7+Amreg(1,5))-(Amreg(1,2)*7),Y Bob(7+Amreg(1,5))-(Amreg(1,3)*7),
  682.             End If 
  683.          End If 
  684.          Amreg(S,5)=0
  685.       End If 
  686.    Next S
  687.    Synchro 
  688.    For B=0 To 3
  689.       If Amreg(B,0)<>0
  690.          If Amreg(B,6)=-1
  691.             C=(GUN(B,2)*(Amreg(Amreg(B,0)*5-3)))+(Amreg(Amreg(B,0)*5-5))
  692.             D=(GUN(B,2)*(Amreg(Amreg(B,0)*5-2)))+(Amreg(Amreg(B,0)*5-4))
  693.             Amreg(B,2)=Amreg(Amreg(B,0)*5-3)*GUN(B,1)
  694.             Amreg(B,3)=Amreg(Amreg(B,0)*5-2)*GUN(B,1)
  695.             If B=0 : Amreg(B,4)=Amreg(Amreg(B,0)*5-1) : End If 
  696.             Bob B,C,D,Amreg(Amreg(B,0)*5-1)+GUN(B,3)
  697.          End If 
  698.          If DEAD(Amreg(B,0))=False and Amreg(Amreg(B,0)+7,1)<66
  699.             C=(5*(Amreg(Amreg(B,0)*5-3)))+(Amreg(Amreg(B,0)*5-5))
  700.             D=(5*(Amreg(Amreg(B,0)*5-2)))+(Amreg(Amreg(B,0)*5-4))
  701.             Bob B+4,C,D,(B*3)+Amreg(Amreg(B,0)*5-1)+15
  702.          End If 
  703.       End If 
  704.    Next B
  705.    Bob Update : Wait Vbl : M1=0 : M2=0
  706. End Proc
  707. Procedure CHANGE_WEAPONS[A,B,C]
  708.    Amreg(RAND2(A)-1,0)=Amreg(B,0)
  709.    Amal Freeze RAND2(A)-1 : Bob RAND2(A)+3,X Bob(A+7),Y Bob(A+7),RAND2(A)*3+12+Rnd(2)
  710.    Bob RAND2(A)-1,,,111 : Swap RAND2(A),RAND2(Amreg(B,0))
  711.    Screen 1
  712.    If A=1 or Amreg(B,0)=1 Then Ink 2 : Bar 60,4 To AMMO(RAND2(1))*2.85+61,8 : Ink 0
  713.    If A=2 or Amreg(B,0)=2 Then Ink 2 : Bar 420,4 To AMMO(RAND2(2))*2.85+421,8 : Ink 0
  714.    Screen 2
  715.    If A=3 or Amreg(B,0)=3 Then Ink 2 : Bar 60,4 To AMMO(RAND2(3))*2.85+61,8 : Ink 0
  716.    If A=4 or Amreg(B,0)=4 Then Ink 2 : Bar 420,4 To AMMO(RAND2(4))*2.85+421,8 : Ink 0
  717.    Screen 0
  718.    Amal Off B : Amal B,CQ$(B)
  719.    Amreg(B,0)=A : Amal On B
  720.    Bell 
  721.    If Amreg(7+A,1)>65
  722.       Bob RAND2(A)+3,,,111
  723.    End If 
  724. End Proc
  725. Procedure EXTRA_AMMO[A]
  726.    Add AMMO(RAND2(A)),25 : Bob Off 48 : Amal On RAND2(A)-1
  727.    Sam Play 8,7,9000 : AMMO(RAND2(A))=Min(70,AMMO(RAND2(A)))
  728.    Screen 1
  729.    If A=1 Then Ink 2 : Bar 60,4 To AMMO(RAND2(1))*2.85+61,8 : Ink 0
  730.    If A=2 Then Ink 2 : Bar 420,4 To AMMO(RAND2(2))*2.85+421,8 : Ink 0
  731.    Screen 2
  732.    If A=3 Then Ink 2 : Bar 60,4 To AMMO(RAND2(3))*2.85+61,8 : Ink 0
  733.    If A=4 Then Ink 2 : Bar 420,4 To AMMO(RAND2(4))*2.85+421,8 : Ink 0
  734.    Screen 0
  735. End Proc
  736. Procedure FIRST_AID[A]
  737.    LIFE#(A)=LIFE#(A)+50.0 : DR#(A)=0.0 : Bob Off 47
  738.    Bell : LIFE#(A)=Min(200.0,LIFE#(A))
  739.    Screen 1
  740.    If A=1 Then Ink 3 : Bar 60,0 To LIFE#(1)+61,3 : Ink 0
  741.    If A=2 Then Ink 3 : Bar 420,0 To LIFE#(2)+421,3 : Ink 0
  742.    Screen 2
  743.    If A=3 Then Ink 3 : Bar 60,0 To LIFE#(3)+61,3 : Ink 0
  744.    If A=4 Then Ink 3 : Bar 420,0 To LIFE#(4)+421,3 : Ink 0
  745.    Screen 0
  746. End Proc
  747. Procedure SCORES
  748.    If ALIVE=1
  749.       Sam Play 9,18-Rnd(1),9500
  750.    End If 
  751.    Wait 200 : Every Off : Screen 0 : Bob Off 
  752.    Screen Hide 1 : Screen Hide 2 : Screen Close 0
  753.    Screen Open 3,320,256,32,Lowres : Flash Off : Get Sprite Palette 
  754.    Colour 0,$0 : Screen Show 1 : Screen Show 2
  755.    Curs Off : Curs Pen 0 : Cls 0 : Colour 8,$0 : Paper 0
  756.    Pen 8 : Print At(8,8);"Scores After Round ";ROUND
  757.    If TEAM=False
  758.       For X=1 To NUM
  759.          Print At(9,X*2+9);NAME$(X);At(17,X*2+9);" Score ";SCORE(X)
  760.       Next X
  761.    Else 
  762.       Print At(5,11);NAME$(1)+" & "+NAME$(3);At(20,11);" Score ";SCORE(1)+SCORE(3)
  763.       Print At(5,13);NAME$(2)+" & "+NAME$(4);At(20,13);" Score ";SCORE(2)+SCORE(4)
  764.    End If 
  765.    For C=1 To 15
  766.       Colour 8,Colour(8)+$111 : Wait 2 : Wait Vbl 
  767.    Next C : Wait 200
  768.    For C=1 To 15
  769.       Colour 8,Colour(8)-$111 : Wait 2 : Wait Vbl 
  770.    Next C : Cls 0 : Colour 8,$FFF
  771. End Proc
  772. Procedure FINISH_OF_GAME
  773.    Dim N$(4)
  774.    For X=1 To 4 : N$(X)=NAME$(X) : Next X
  775.    If TEAM=False
  776.       For A=1 To 3
  777.          For B=A+1 To 4
  778.             If SCORE(B)>SCORE(A)
  779.                Swap SCORE(B),SCORE(A) : Swap NAME$(B),NAME$(A)
  780.             End If 
  781.          Next B
  782.       Next A : N=4 : X0=88 : X1=200
  783.    Else 
  784.       X0=45 : NAME$(1)=NAME$(1)+" & "+NAME$(3) : Add SCORE(1),SCORE(3)
  785.       N=2 : X1=225 : NAME$(2)=NAME$(2)+" & "+NAME$(4) : Add SCORE(2),SCORE(4)
  786.       If SCORE(1)<SCORE(2) : Swap NAME$(1),NAME$(2) : Swap SCORE(1),SCORE(2) : End If 
  787.    End If 
  788.    Unpack 9 To 0 : Flash Off : Curs Off 
  789.    Cls 0,0,0 To 20,20 : Ink 4,0
  790.    If TEAM=True
  791.       TL=Text Length(NAME$(1)+"'s Team")
  792.       Text 155-TL/2,185,NAME$(1)+"'s Team"
  793.    Else 
  794.       TL=Text Length(NAME$(1))
  795.       Text 145-TL/2,190,NAME$(1)
  796.    End If 
  797.    Flash 2,"(D00,20)(000,20)" : Flash 3,"(000,20)(D00,20)"
  798.    Sam Play 1,1,9500 : Wait 120 : Sam Play 1,2,9500 : Wait 200
  799.    For X=1 To N
  800.       If SCORE(X)>HSC(10)
  801.          Swap SCORE(X),HSC(10) : Swap NAME$(X),HSCNAME$(10)
  802.          For A=1 To 9
  803.             For B=A+1 To 10
  804.                If HSC(B)>HSC(A)
  805.                   Swap HSC(B),HSC(A) : Swap HSCNAME$(B),HSCNAME$(A)
  806.                End If 
  807.             Next B
  808.          Next A
  809.       End If 
  810.    Next X
  811.    Screen Open 3,320,256,4,Lowres : Flash Off : Curs Off 
  812.    Cls 0 : Screen Close 0
  813.    Screen Open 4,320,256,4,Lowres : Screen Hide 4
  814.    Flash Off : Curs Off : Cls 0
  815.    Set Font 1 : Gr Writing 0 : Ink 1
  816.    For Y=1 To 10
  817.       Text X0,Y*12,Str$(Y)-" "+"."+HSCNAME$(Y)
  818.       Text X1,Y*12,Str$(HSC(Y))
  819.    Next Y
  820.    Screen 3 : Set Rainbow 0,1,180,"","",""
  821.    For X=0 To 14*4 Step 4
  822.       For Y=X To X+4
  823.          Rain(0,Y)=C
  824.       Next Y
  825.       C=C+$100
  826.    Next X : C=$F00
  827.    For X=57 To 81 Step 6
  828.       For Y=X To X+6
  829.          Rain(0,Y)=C
  830.       Next Y
  831.       C=C+$11
  832.    Next X
  833.    For X=81 To 109 Step 7
  834.       For Y=X To X+7
  835.          Rain(0,Y)=C
  836.       Next Y
  837.       C=C-$11
  838.    Next X : C=$E00
  839.    For X=166-(14*4) To 166 Step 4
  840.       For Y=X To X+4 Step 1
  841.          Rain(0,Y)=C
  842.       Next Y
  843.       C=C-$100
  844.    Next X
  845.    Rainbow 0,0,61,163
  846.    Set Font 2 : Ink 2 : Gr Writing 0
  847.    Text 110,195,"Fire To Exit!"
  848.    If TEAM=False
  849.       Text 75,10,"Most Merciless Murders"
  850.    Else Text 75,10,"Most Devastating Duo's"
  851.    End If 
  852.    Def Scroll 1,0,20 To 320,181,0,-1
  853.    Def Scroll 2,0,30 To 320,165,0,-1
  854.    Def Scroll 3,0,50 To 320,150,0,-1
  855.    Def Scroll 4,0,70 To 320,130,0,-1
  856.    Draw 0,18 To 320,18 : Draw 0,182 To 320,182 : Y=0
  857.    Repeat 
  858.       Add Y,1,0 To 130
  859.       Screen Copy 4,0,Y,320,Y+1 To 3,0,180
  860.       Scroll 1 : Scroll 2 : Scroll 3 : Scroll 4
  861.       Wait Vbl 
  862.    Until Fire(1) or Fire(0) : Gr Writing 1 : Screen Close 4
  863.    Poke $BFD100,%10000
  864.    If Btst(3,$BFE001)
  865.       If TEAM=False
  866.          Open Out 1,"HighScoreTable"
  867.       Else Open Out 1,"TeamTable"
  868.       End If 
  869.       For A=1 To 10 : Print #1,HSCNAME$(A) : Print #1,HSC(A) : Next A : Close 1
  870.    End If : Cls 0 : Rainbow Del 0
  871.    For V=1 To 4 : SCORE(V)=0 : NAME$(V)=N$(V) : Next V
  872. End Proc